home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / misc / nnn.lha / nnn1.35 / src / NetAbort.c < prev    next >
C/C++ Source or Header  |  1995-08-29  |  1KB  |  57 lines

  1. /*
  2.  *  $Id: NetAbort.c 1.4 1995/08/29 23:48:55 daltern Exp $
  3.  */
  4.  
  5. #include "Neural.h"
  6.  
  7. /*
  8.  *  Global variables for deallocation.
  9.  */
  10.  
  11.   extern NET    *netI_g;
  12.   extern VECTOR *vecS_g;
  13.   extern float  **Node_g;
  14.   extern float  ***Weight_g;
  15.   extern float  ***Delta_weight_g;
  16.  
  17.  
  18. void NetAbort( int sig )
  19.  
  20. {
  21.  
  22.   
  23.   register int i, j;
  24.  
  25.   if ( vecS_g->InVec != NULL ) 
  26.       FREE2D(vecS_g->InVec,MAX_VECS);
  27.  
  28.   if ( vecS_g->OutVec != NULL ) 
  29.       FREE2D(vecS_g->OutVec,MAX_VECS);
  30.  
  31.   if ( Weight_g != NULL ) 
  32.     FREE3D(Weight_g,(netI_g->NumLayers-1),(netI_g->LayerSize[i]));
  33.  
  34.   if ( Delta_weight_g != NULL ) 
  35.       FREE3D(Delta_weight_g,(netI_g->NumLayers-1),(netI_g->LayerSize[i]+1));
  36.  
  37.   if ( Node_g != NULL ) {
  38.       for ( i = 1; i < netI_g->NumLayers; i++ ) {
  39.         free(Node_g[i]); 
  40.       }   /* end for i */
  41.       free(Node_g);
  42.   }   /* end if */
  43.  
  44.   if ( netI_g->LayerSize != NULL ) 
  45.       free(netI_g->LayerSize);
  46.  
  47.   fprintf( stderr, "\n\n Cleaning up and exiting \n" );
  48.   fprintf( stderr, " config file will not be changed\n" );
  49.   exit(5);
  50.  
  51.     
  52. }   /* end function NetAbort */
  53.  
  54. /*=============================================================================*
  55.                                END FUNCTION
  56. *==============================================================================*/
  57.